
package lolcodecompiler;

import java.util.*;

public interface SyntaxAnalyzer {

    /**
     * This method implements the BNF grammar rule for the document annotation.
     * @throws CompilerException
     */
    void lolcode();

    /**
     * This method implements the BNF grammar rule for the head annotation.
     * @throws CompilerException
     */
    void comment();

    /**
     * This method implements the BNF grammar rule for the head annotation.
     * @throws CompilerException
     */
    void head();

    /**
     * This method implements the BNF grammar rule for the title annotation.
     * @throws CompilerException

     */
    void title();

    /**
     * This method implements the BNF grammar rule for the paragraph annotation.
     * @throws CompilerException
     */
    void paragraph();

    /**
     * This method implements the BNF grammar rule for the bold annotation.
     * @throws CompilerException
     */
    void bold();

    /**
     * This method implements the BNF grammar rule for the italics annotation.
     * @throws CompilerException
     */
    void italics();

    /**
     * This method implements the BNF grammar rule for the list annotation.
     * @throws CompilerException
     */
    void list();

    /**
     * This method implements the BNF grammar rule for the item annotation.
     * @throws CompilerException
     */
    void item();

    /**
     * This method implements the BNF grammar rule for the audio annotation.
     * @throws CompilerException
     */
    void audio();

    /**
     * This method implements the BNF grammar rule for the video annotation.
     * @throws CompilerException
     */
    void video();

    /**
     * This method implements the BNF grammar rule for the define annotation.
     * @throws CompilerException
     */
    void define();

    /**
     * This method implements the BNF grammar rule for the use annotation.
     * @throws CompilerException
     */
    void use();
}